/**
 * 每个底栏tabbar页面里，都要在onShow中调用该方法，让对应的tab变成激活样式；
 * 并且获取最新tabbar数据，实现动态化底栏tabbar。
 * @param {*} thisInstance 调用的页面的this
 * @param {*} activeTab 要选中改的tab
 * @param {*} tabBarList 底栏tab数据，如果传了，就会以这份数据为准去显示底栏tab。
 * @returns 返回当前页面的自定义 tabBar 组件实例；或如果获取不到就返回null
 */
const initTabBar = (thisInstance, { activeTab, tabBarList } = {}) => {
  if (
    typeof thisInstance.getTabBar === "function" &&
    thisInstance.getTabBar()
  ) {
    const tabBarInstance = thisInstance.getTabBar();
    // 为了让底栏的当前选中Tab显示激活的样式，必须在这里设置activeTab
    tabBarInstance.setData({
      activeTab,
    });
    // 获取到最新tabbar数据，更新tabbar
    tabBarInstance.updateTabBarList(tabBarList);
    return tabBarInstance;
  }
  return null;
};

module.exports = {
  initTabBar,
};
